home *** CD-ROM | disk | FTP | other *** search
/ Precision Software Appli…tions Silver Collection 4 / Precision Software Applications Silver Collection Volume 4 (1993).iso / new / condor30.arj / CONDOR.DOC < prev    next >
Text File  |  1993-06-14  |  31KB  |  923 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                       CONDOR
  8.                Copyright 1993 by Larry Mears
  9.                    All Rights Reserved
  10.                    version  3.0
  11.  
  12.  
  13.  
  14.        CONDOR is DONATION-WARE   there are no limits what so ever.
  15.        If you use Condor please send $15 donation or if you can't
  16.        afford that much send what you can to encourage updates to
  17.        CONDOR.  Send check or money order to:
  18.  
  19.        Larry Mears
  20.        11027 Crestfield Dr.
  21.        Huntsville, AL 35803
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.     Disclaimer:  There is no gaurantee as to the performance of
  29.              CONDOR.  The user assumes ALL risks involved
  30.              from the use of CONDOR.
  31.  
  32.     Terminal and    BBSs authors please see How_to.txt
  33.  
  34.  
  35.                       Index
  36.  
  37.  
  38.     Installation .............................................  1
  39.  
  40.     Description  .............................................  1
  41.  
  42.     Syntax       .............................................  2
  43.  
  44.     Constants    .............................................  3
  45.  
  46.     Variables    .............................................  3
  47.  
  48.     Aborting     .............................................  3
  49.  
  50.     Condor in Text modes .....................................  3
  51.  
  52.                 CONDOR COMMANDS
  53.     R_ Resolution .............................................  4
  54.  
  55.     b_ Sound Effects ..........................................  5
  56.  
  57.     C_ Color Set  .............................................  5
  58.  
  59.     D_ Drawto     .............................................  6
  60.  
  61.     F_ Flood Fill .............................................  6
  62.  
  63.     H_ Hollow Set .............................................  6
  64.  
  65.     L_ Lines      .............................................  7
  66.  
  67.     M_ Drawing Mode ...........................................  7
  68.  
  69.     N_ Notes Play Pitches .....................................  8
  70.  
  71.     O_ Circle     .............................................  8
  72.  
  73.     P_ Plot a Pixel ...........................................  8
  74.  
  75.     p_ Position Cursor ........................................  9
  76.  
  77.     S_ Setcolor Register ......................................  9
  78.  
  79.     s_ Screen Clear ...........................................  10
  80.  
  81.     t_ Timed Pause ............................................  10
  82.  
  83.     w_ Write Text .............................................  10
  84.  
  85.     Z_ Rectangle  .............................................. 11
  86.  
  87.     z_ Text Rectangle .......................................... 11
  88.  
  89.     &_ LOOPing    .............................................. 12
  90.  
  91.     ANSI Support  .............................................. 14
  92.  
  93.  
  94.                        -1-
  95.  
  96.                       CONDOR
  97.                Copyright 1993 by Larry Mears
  98.                    All Rights Reserved
  99.                    version  3.0
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.                    INSTALLATION
  108.        Condor is a console device driver.  To use it you add a line
  109.     in your CONFIG.SYS file like:  DEVICE=CONDOR.SYS  If you have
  110.     a line in your CONFIG.SYS file like:  device=ANSI.SYS  remove it.
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.                     DESCRIPTION
  120.        CONDOR is a ANSI.SYS replacment of sorts.  CONDOR enables your
  121.     CGA/EGA/VGA computer to do bitmap style graphics ANY time from DOS or
  122.     from any program that uses DOS CON: for text output.  With ANSI style
  123.     graphics you get low resolution    blocky looking 80x25 graphics, with
  124.     CONDOR you get from 320x200 to 640x480 pixel graphics and ANSI too if
  125.     you want because CONDOR recognizes most ANSI commands and can execute
  126.     ANSI commands even while in a graphics mode.  CONDOR will enhance
  127.     online communications with it's abilities.  Terminal and BBS authors
  128.     will be able to access CONDOR by simply going through DOS for text
  129.     output.  In TURBO C a bdos(2,character,0); command is all it takes to
  130.     give a terminal CONDOR graphics and sound POWER!  If NAPLPS has got you
  131.     down give CONDOR a try!
  132.  
  133.  
  134.  
  135.        After you install CONDOR and reboot your system try the included
  136.     demo files by simply typing them from DOS.
  137.     Like: C:\TYPE demo.r6   (.r6)=resolution mode 6,  or  if you like you
  138.     can just type DEMO and the batch file will execute all the demos.
  139.  
  140.  
  141.                     -2-
  142.        SYNTAX ...
  143.        As most know ANSI uses a esc[pram;pramCommand sequence it might
  144.        look like esc[31;42m  CONDOR is very different it is buffered.
  145.        You load Condor's buffer and then execute it.  Condor has a
  146.        8003 byte buffer.   To load Condor's buffer you use a sequence
  147.        like  esc{command,data:command,data: ...  esc}  the 'esc' part
  148.        is really the escape character asci character 27.  Condor
  149.        code will look like this:
  150.        esc{R6:C1,1:L0,0,639,199:t90:R3:esc}  that only loads the buffer
  151.        Use  esc#  to execute the buffer.
  152.  
  153.        The execute command actually wants a 3rd character from
  154.        A-z ( ascii values 65 to 122 including the weird characters
  155.          in between upper and lower case)
  156.        but if it encounters a SPACE or CR or any ascii character out of
  157.        the A-z range it executes as if it received a A.  This is
  158.        so Condor's buffer can be divided up into sub-blocks and the
  159.        esc# command can execute a specific block.  Sub-blocks are not
  160.        required, they are a feature for repetive things like music.
  161.        Sub-blocks within Condor's buffer begin with the { character and end
  162.        with the } character.  They don't have the esc character like the
  163.        beginning and ending block markers for the whole buffer, although
  164.        BLOCK A is actually the esc{  mark at the beginning of the Condor
  165.        buffer. A Sub-block must have a { start marker but doesn't require
  166.        a ending marker, in this case the { sub-block marker acts as a entry
  167.        point in the buffer and will execute till it hits a } character so
  168.        several { markers can share one } marker.  The position of the
  169.        { sub-block marker dictates it's name.  By the way carriage returns
  170.        and line feeds are striped from the buffer at load time but SPACES
  171.        remain.  MOST of the commands require that the computer be in a
  172.        graphics mode too, so you set that with the R command.
  173.         ( REPLACE esc with the escape character )
  174.  
  175.         esc{R6:b1:}
  176.            {L10,10,140,190:
  177.            {b12:}
  178.            {t48:R3:esc}
  179.  
  180.            To execute this in sequence you would go
  181.            esc#A esc#B esc#C esc#D  (spaces for clarity only)
  182.            Block C would get excuted twice but with this setup
  183.            you could enter at block C and skip B.
  184.            If you wanted though you could execute in any order but
  185.            for this to work right you need to execute that R6: command
  186.            first. The R3: command brings you back to a text mode.
  187.            You could go esc#A esc#B esc#D
  188.  
  189.     IMPORTANT!! MOST ALL DOS programs run in text mode so you should
  190.         ALWAYS switch back when done with your graphic.  You can
  191.         use the 't' command to pause for a short display time then
  192.         do a R3: back to text mode.
  193.  
  194.       This might be a little confusing but sub-blocks aren't required
  195.       you could just go esc{R6:b1:L10,10,140,190:b12:R3:esc} esc#A and
  196.       do it all in one block.  Sub-blocks are just for added utility.
  197.       Condor's buffer remains intact until another esc{ ... esc} is
  198.       encountered, so you can execute it several times with the esc#A and
  199.       only load it once.   You might do some repetive things so Condor's
  200.       buffer and sub-blocks can be really useful.
  201.  
  202.  
  203.                     -3-
  204.  
  205.     CONSTANTS range from 0 to 9999.   Condor will only grab 4 digits,
  206.     trying to pass it more will mess things up.  If you did something
  207.     like this L25555100,90,10,10:  the 25555100 part would be interpreted
  208.     as L2555,100,90,10,10: and that 2555 would be off screen anyway.
  209.  
  210.     VARIABLES only exist in the '&' LOOP they are x,y,+,-,! refer
  211.     to the section on the '&' LOOP command for details.
  212.  
  213.     ABORTing...  The USER can press the CTRL key to abort a
  214.     't' pause command  OR to abort a '&' LOOP.  A more
  215.     drastic abort is the ALT key, it will abort a 't' pause
  216.     and the '&' LOOP plus abort the buffer BLOCK being executed
  217.     and reset the screen to the mode it was in at bootup, plus
  218.     set the text color in graphics and text mode to value 7 white.
  219.  
  220.  
  221.     CONDOR COMMANDS in TEXT MODES:
  222.       A few commands can be executed in a text mode like the sound effect
  223.     command 'b'.   These commands can only be excuted once in text mode
  224.     then buffer execution will cease.  For example esc{b1:b4:esc} esc#A
  225.     would only execute the b1: command then exit, however if you set the
  226.     mode to a graphics mode both b1:b4: would excute.  This is a safety
  227.     feature that was put in to keep someone from executing a graphics
  228.     command while in a text mode (causes lockups) BUT I wanted to allow
  229.     access someway to certain commands from text modes because text output
  230.     is much    faster and you might just want a beep or blurp.  You could do
  231.     multiple commands with sub-blocks while in a text mode like:
  232.     esc{b1:} {b4:esc} esc#A esc#B    Commands that can be executed in this
  233.     limited manner in text modes are the '&' LOOP command,
  234.     the 'R' resolution switch command, the 'n' musical NOTES command,
  235.     't' timed pause, the 'w' command WRITE text at column / row, the
  236.     'p' position text cursor at column / row, the 'C' color command,
  237.     'b' sound effects, and the 'z' command write a rectangle of characters.
  238.  
  239.                       -4-
  240.  
  241.                 CONDOR COMMANDS
  242.                 ---------------
  243.  
  244.  
  245.  
  246.     R set Resolution   syntax example R6:
  247.     ----------------
  248.             Switchs screen resolutions. This is the Most important
  249.             command since most Condor commands need to be in a
  250.             GRAPHIC mode to work.  The R command
  251.             automatically adjusts characters for the screen mode.
  252.             Sets the HOLLOWS to TRUE (circles and rectangles will
  253.             not be filled).  Sets the point,line, and fill colors
  254.             to 1.  Sets the character attribute to 7, that's
  255.             white characters with black background, Sets the
  256.             DRAW Mode to REPLACE.  The R command serves as a reset
  257.             command of sorts as well as a resolution switching
  258.             command.   This command is supposed to have no effect
  259.             if a value is passed greater than the video hardware
  260.             can support, however I am unable to test this since
  261.             I have only VGA.
  262.  
  263.             Command identifier  = R
  264.             Parameter           = Graphics mode to set
  265.  
  266.  
  267.             Parameter       Screen         Colors  Type
  268.             values          Resolution
  269.             0            40x25           16      TEXT
  270.             1        40x25           16      TEXT
  271.             2        80x25           16      TEXT
  272.             3        80x25           16      TEXT
  273.             4        320x200           4       GRAPHICS
  274.             5        320x200           4       GRAPHICS
  275.             6        640x200           2       GRAPHICS
  276.             7        80x25           2       TEXT
  277.             8        N/A            N/A     N/A
  278.             9        N/A           N/A     N/A
  279.             10        N/A           N/A     N/A
  280.             11        N/A           N/A     N/A
  281.             12        N/A           N/A     N/A
  282.             13        320x200           16      GRAPHICS
  283.             14        640x200           16      GRAPHICS
  284.             15        640x350           2       GRAPHICS
  285.             16        640x350           16      GRAPHICS
  286.             17        640x480           2       GRAPHICS
  287.             18        640x480           16      GRAPHICS
  288.             19        320x200           256     GRAPHICS
  289.  
  290.         EXAMPLE:
  291.         esc{R6:L319,10,219,110:D419,110:D319,10:t48:b15:R3:esc} esc#A
  292.  
  293.         Another way:
  294.         esc{L319,10,219,110:D419,110:D319,10:t48:b15:R3:}{R6:esc}
  295.         esc#B esc#A
  296.         If you went esc#A esc#B nothing would happen except sub-block
  297.         B execution because the A block tries to draw lines and
  298.         that can only be done if a GRAPHICS mode is set, which
  299.         block B sets with the R6: command.
  300.  
  301.                     -5-
  302.  
  303.  
  304.     b sound effects     syntax example  b19:
  305.     ---------------
  306.  
  307.  
  308.                 Plays sound effects using the computer's
  309.                 speaker.  It's bells and whistle time!
  310.  
  311.  
  312.                 Command identifier = b
  313.                 Parameter          = effect number
  314.  
  315.         Effect #           Name:
  316.         --------           -----
  317.           0                pute
  318.           1                yonk
  319.           2                Wood Pecker
  320.           3                British siren
  321.           4                buzz
  322.           5                Laughing Alien
  323.           6                woops
  324.           7                click-pop
  325.           8                meep
  326.           9                barber shears
  327.          10                zip-whistle
  328.          11                hey
  329.          12                insect
  330.          13                boing
  331.          14                broken chime
  332.          15                pebble in puddle
  333.          16                beep
  334.          17                long oh
  335.          18                harmonics
  336.          19                pinball
  337.          20           buzz-zapper
  338.  
  339.      EXAMPLE: esc{b19:esc} esc#A
  340.           esc{R6:b1:b14:b20:b7:t48:R3:esc} esc#A
  341.           esc{R6:&0,20,1,0,b,1,x:R3:esc} esc#A
  342.     .......................................................................
  343.  
  344.     C color set     syntax example C1,2:
  345.     -----------
  346.             C  =  command identifier
  347.             Selects the register number to perform the screen
  348.             operation with.
  349.  
  350.             1st parameter selects screen operation color to change.
  351.             0 = Point color, used for the (P  Plot command).
  352.             1 = line color,  used for the (L  Line Command)
  353.             2 = fill color,  used for the (F  Fill commands and
  354.                      Z rectangle, and C circle )
  355.             3 = text color,  used with the ( w command ).
  356.  
  357.             2nd parameter selects the register number 0 to 255
  358.             depending on the graphic mode.
  359.  
  360.             EXAMPLE esc{R19:C1,2:L0,0,100,199:R3:esc} esc#A
  361.  
  362.                     -6-
  363.  
  364.      D line DRAWTO      syntax example D149,99:
  365.      -------------
  366.             D = command identifier
  367.             Draws a line from the place the last place
  368.             a line or point was drawn.
  369.             Use the C command to change line color.
  370.  
  371.             1st parameter = X coordinate
  372.             2nd parameter = Y coordinate
  373.  
  374.             EXAMPLE  esc{R6:P10,10:D100,20:D50,50:D10,10:R3:esc}
  375.                  esc#A
  376.  
  377.     .......................................................................
  378.  
  379.     F flood FILLs   syntax example F600,10,1: or f600,10:
  380.     -------------
  381.             F or f = command identifier
  382.             'F' Fills a area by replacing ALL colors starting
  383.             at specified X,Y coordinates till it hits
  384.             a border of a specified OPERATION COLOR.
  385.             If the command used is the 'f' fill the
  386.             color at X,Y is gotten and replaced with the
  387.             fill color set by the 'C'olor command.  The
  388.             3rd parameter is dropped for the 'f' command.
  389.  
  390.             1st parameter = X coordinate
  391.             2nd paraneter = Y coordinate
  392.             3rd parameter = (0 to 3) specified OPERATION COLOR:
  393.                      0 for current point color
  394.                      1 for current line  color
  395.                      2 for current fill  color
  396.                      3 for current text  color
  397.  
  398.             EXAMPLE esc{R16:C1,12:C2,2:P100,10:D200,100:
  399.                     D0,100:D100,10:F150,90,1:t48:b15:R3:esc}
  400.                     esc#A
  401.  
  402.     .......................................................................
  403.  
  404.  
  405.     H hollow set    syntax example H0:
  406.     ------------
  407.             H = command identifier
  408.             When on non solids are drawn, a circle will be
  409.             drawn instead of a disk.
  410.  
  411.             Parameter  1=on  0=off
  412.  
  413.             EXAMPLE esc{R6:H0:Z10,10,100,50:H1:Z110,10,200,50:
  414.                     t90:b7:R3:esc} esc#A
  415.  
  416.                     -7-
  417.  
  418.     L draw LINE     syntax example L0,0,300,150:
  419.     -----------
  420.             L = command identifier
  421.             Draws a line between specified points.
  422.             Use the C command to change line color.
  423.  
  424.             1st parameter = beginning X coordinate
  425.             2nd parameter = beginning Y coordinate
  426.             3rd parameter = ending    X coordiante
  427.             4th parameter = ending    Y coordinate
  428.  
  429.             EXAMPLE esc{R6:L0,0,639,0:L639,0,639,199:
  430.                     L639,199,0,199:L0,199,0,0:
  431.                     L0,199,639,0:L0,0,639,199:
  432.                     t90:b19:R3:esc}  esc#A
  433.  
  434.     .......................................................................
  435.  
  436.     M drawing MODE  syntax example M2:
  437.     --------------
  438.  
  439.             M = command identifier
  440.  
  441.             Parameter sets drawing mode.
  442.             1 = replace     2 = XOR
  443.  
  444.             Will not work in graphics mode 19.
  445.             Effects anything drawn after setting but only
  446.             after a C command.  So you set M  then do
  447.             a C (color set) anything draw with that color
  448.             will be drawn in XOR mode.  XOR mode is good
  449.             for drawing things on top of things because
  450.             if you draw it twice the XORed drawing disappears
  451.             leaving the background untouched!  Because
  452.             XOR makes the fill command go koo-koo XOR is disabled
  453.             whenever a fill operation occurs.  You have to
  454.             set the color again with the C command to restore
  455.             XOR mode after a fill.   To disable the XORing
  456.             altogether use M1: or do a res switch with the
  457.             R command.
  458.  
  459.             EXAMPLE  esc{R6:M2:H1:C1,1:Z100,20,200,198:
  460.                      Z50,50,250,160:t90:b7:Z50,50,250,160:
  461.                      t48:b20:R3:esc} esc#A
  462.  
  463.                     -8-
  464.     n  notes play   syntax example:
  465.     -------------    n0,4000,1000,1:  or n1,0,9999,100,10,500,1:
  466.  
  467.             n = command identifier
  468.  
  469.             Uses your computer's 1 bit sound and speaker to
  470.             play pitches from 0 to 9999  timed sustains with
  471.             sound shut off flag.  Or can play a PITCH FROM TO
  472.             with STEP and delays between steps with trailing
  473.             SUSTAIN and sound shut on off FLAG.
  474.  
  475.            IF 1st parameter is 0 then
  476.               2nd parameter = pitch, range(0-9999)
  477.               3rd parameter = sustain in 18.2ths of a sec range(0-9999)
  478.               4th parameter = OFF FLAG  0=leave playing,  1=shut off
  479.  
  480.            IF 1st parameter is 1 then
  481.               2nd parameter = FROM pitch, value range(0-9999)
  482.               3rd parameter = TO   pitch, value range(0-9999)
  483.               4th parameter = STEP value, range(1-9999)
  484.               5th parameter = DELAY between STEPs  18.2ths sec(0-9999)
  485.               6th parameter = SUSTAIN when TO value reached 18.2ths sec
  486.               7th parameter = OFF FLAG  0=leave playing  1=shut off
  487.  
  488.  
  489.              EXAMPLE: esc{R6:n0,1100,4,0:n0,1200,4,0:n0,1300,4,0:
  490.                   n0,1400,4,0:n0,1500,4,0:n0,1600,4,0:
  491.                   n0,1700,4,0:n0,1800,4,0:n0,1900,4,0:
  492.                   n0,2000,4,0:n0,2100,4,0:n0,2200,4,0:
  493.                   n0,2300,4,0:n0,2400,4,0:n0,2500,4,1:
  494.                   R3:esc} esc#A
  495.  
  496.     .......................................................................
  497.  
  498.     O   CIRCLE     syntax example O159,100,75:
  499.     ----------
  500.             O = command identifier
  501.             Draws a disc or circle depending if the
  502.             H command is active or not.  This command
  503.             does not do a aspect ratio, so the best
  504.             circles will be in the 320x200 and 640x480
  505.             graphics modes.
  506.  
  507.             1st parameter = X coordinate of circle center
  508.             2nd parameter = Y coordinate of circle center
  509.             3rd parameter = radius of circle
  510.  
  511.             EXAMPLE  esc{R6:O319,99,40:t48:R3:esc} esc#A
  512.     .......................................................................
  513.  
  514.     P  PLOT a pixel  syntax example P149,99:
  515.     ---------------
  516.             P = command identifier
  517.  
  518.             Plot a point on the screen.
  519.             Use the C  command to alter the point color.
  520.  
  521.             1st parameter = X coordinate
  522.             2nd parameter = Y coordinate
  523.  
  524.             EXAMPLE esc{R6:P100,100:P0,0:P40,188:t48:R3:esc} esc#A
  525.  
  526.                     -9-
  527.  
  528.     p position cursor   syntax example  p78,24:
  529.     -----------------
  530.             p = Command identifier
  531.  
  532.             Positions the text cursor at column, row.
  533.  
  534.             1st parameter = column (1 to 80 )
  535.             2nd parameter = row    (1 to 25 )
  536.  
  537.             EXAMPLE esc{R6:p10,21:esc} esc#A
  538.      ......................................................................
  539.  
  540.      S setcolor register
  541.      -------------------
  542.  
  543.             S = command identifier
  544.  
  545.             Sets one COLOR register for CGA/EGA/VGA
  546.             the syntax is different depending on the
  547.             adapter and current graphics mode set by
  548.             the R command.  This command also can change
  549.             the BORDER color and switch BLINKing on/off.
  550.             Supports (R19:) 320x200 256 colors too.
  551.  
  552.          IF in a CGA graphics mode R6: R5: or R4:
  553.              ---        syntax is like: S1,1:
  554.             1st parameter selects which to alter
  555.                 a Color Palette or
  556.                 a BORDER and BACKGROUND change.
  557.                  0=Set border & background
  558.                  1=Set color palette
  559.             2nd parameter is color value for background & border
  560.                 (0-15) or color palette(0-1) to change to.
  561.  
  562.          IF in a EGA/VGA graphics mode R13: TO R18:
  563.              -------    syntax is like: S0,2,63:  to set a register
  564.                 syntax is like: S1,63:    to set border color
  565.                 syntax is like: S2,1:     to set blink flag
  566.             1st parameter selects which to alter
  567.                 color register, border color or blink
  568.  
  569.                    To set a COLOR REGISTER:
  570.                    1st prammeter = 0
  571.                    2nd parameter = REGISTER number ( 0 to 15 )
  572.                    3rd parameter = Color Val(0-63) (0-15)R13:,R14:
  573.  
  574.                    To set the BORDER COLOR:
  575.                    1st parameter = 1
  576.                    2nd parameter = color Val(0-63) (0-15)R13:,R14:
  577.  
  578.                    To  turn BLINK on/off
  579.                    1st parameter = 2
  580.                    2nd parameter = 0 blink OFF or
  581.                            1 blink ON
  582.  
  583.          IF in VGA/MCGA graphics mode R19:  (320x200  256 colors)
  584.            --------          syntax is like: S227,24,255,0:
  585.                 1st parameter = color register number 0-255
  586.                 2nd parameter = RED   value ( 0 - 63 )
  587.                 3rd parameter = GREEN value ( 0 - 63 )
  588.                 4th parameter = BLUE  value ( 0 - 63 )
  589.  
  590.                     -10-
  591.  
  592.     s Screen Clear     syntax example s0:
  593.     --------------
  594.             s = Command identifier
  595.  
  596.             Clears the screen by resetting
  597.             the graphics mode to whatever
  598.             mode is currently selected.
  599.  
  600.             Parameter = NULL effect
  601.                   This is for future expansion,
  602.                   so as to hold syntax compatability.
  603.  
  604.             EXAMPLE esc{R6:L10,10,639,180:t32:b12:s0:t48:b17:
  605.                     R3:esc} esc#A
  606.  
  607.     .......................................................................
  608.  
  609.  
  610.     t  Timed Pause       syntax example t52:
  611.     --------------
  612.             t = Command identifier
  613.  
  614.             Wait for specified 18.2ths of a second.
  615.             You can pause up to 1092 units, which
  616.             is one full minute.  To ABORT a Pause
  617.             the User can press the Ctrl key.
  618.  
  619.             Parameter = 1 to 1092  18.2ths of a second
  620.  
  621.             EXAMPLE: esc{R6:Z20,20,150,140:t52:b19:R3:esc} esc#A
  622.  
  623.     .......................................................................
  624.  
  625.  
  626.     w  Write text    syntax example   w10,20,LOOK AT US NOW - by Joe Walsh@
  627.     -------------
  628.             w = Command identifier
  629.  
  630.             Writes a string of characters ending with a
  631.             @ symbol at the column, row specified.
  632.             It's VERY VERY important to end the string with @,
  633.             If you don't this command will eat the the code
  634.             after it!  Pressing the ALT key may recover.
  635.             The @ symbol can be printed only if it is
  636.             the only character in the string to print,
  637.             ie  w10,10,@   would print the @ symbol
  638.             at location 10,10.  Also note that the
  639.             : need not be used after the @ symbol.
  640.             Use the C command to change the text color.
  641.  
  642.             1st parameter =  column ( 1 to 80 )
  643.             2nd parameter =  row    ( 1 to 25 )
  644.             3rd parameter = string of characters ending with a @
  645.  
  646.             EXAMPLE  esc{R6:w10,20,Back to Humans - by Queen@t52:
  647.                      R3:esc} esc#A
  648.  
  649.                     -11-
  650.  
  651.     Z  Rectangle     syntax example  Z0,0,639,199:
  652.     ------------
  653.             Z = Command identifier
  654.  
  655.             Draws a rectangle, you specify
  656.             the upper left and lower right
  657.             corner coordinates.  Use the
  658.             C command to change colors and
  659.             the H command to draw a solid
  660.             instead of a frame.
  661.  
  662.             1st parameter = upper left corner  X coordinate
  663.             2nd parameter = upper left corner  Y coordinate
  664.             3rd parameter = lower right corner X coordinate
  665.             4th parameter = lower right corner Y coordinate
  666.  
  667.             EXAMPLE esc{R6:Z20,50,277,189:t48:b15:R3:esc} esc #A
  668.  
  669.     .......................................................................
  670.  
  671.  
  672.     z  TEXT Rectangle    syntax example  z1,1,80,25,*:
  673.     -----------------
  674.  
  675.             z = Command identifier
  676.  
  677.             Prints a rectangle made of a specified
  678.             character with the upper left corner and
  679.             lower right corners specifed as column and
  680.             row coordinates.  You can get high ascii
  681.             characters by holding alt and typing the ascii
  682.             value on the numeric keypad.  Useful is ascii
  683.             219 for FILLING large areas and then only using
  684.             the slow F or f command to fill in the edges.
  685.  
  686.             1st parameter = upper left  corner COLUMN ( 1 to 80 )
  687.             2nd parameter = upper left  corner ROW    ( 1 to 25 )
  688.             3rd parameter = lower right corner COLUMN ( 1 to 80 )
  689.             4th parameter = lower right corner ROW    ( 1 to 25 )
  690.             5th parameter = CHARACTER to make the rectangle with
  691.                     followed by the : just like a number
  692.                     value.
  693.  
  694.             EXAMPLE esc{R6:z4,3,8,12,X:t48:b18:R3:esc} esc#A
  695.  
  696.                     -12-
  697.  
  698.     &  LOOP a command(s)     &0,198,6,0,L,4,0,0,x,y:
  699.     --------------------
  700.  
  701.             & = command identifier
  702.  
  703.             Loops a command a specified number of times with
  704.             stepping, special options for XOR ing and the
  705.             write text command.   You can loop a
  706.             chain of commands, see parameter 5,  BUT you can't
  707.             loop a loop.  Still this command is very powerful
  708.             and worth every effort to learn!
  709.             Note: PRESS the CTRL key to abort a loop.
  710.  
  711.             1st parameter = FROM value
  712.                 if FROM value bigger than TO value
  713.                 loop will detect and step backwards.
  714.  
  715.             2nd parameter = TO value
  716.             3rd parameter = step value, positive number only.
  717.             4th parameter = DELAY  roughly a 360th of a second
  718.                     between each step of the loop.
  719.             5th parameter = command Identifier to loop.
  720.                 optional specification character after 5th
  721.                 parameter instead of comma:
  722.                    | = XOR stepping
  723.                    @ = get text for w command everytime
  724.                    otherwise text written from loop
  725.                    with the w command is last text
  726.                    written with w command before the
  727.                    loop was executed.  w command now
  728.                    ignores CR and LF so loop command
  729.                    can be used for easy written text
  730.                    placement with the  loop's stepping.
  731.            NOTE: (Chain Gang) If a > symbol is given here as a command
  732.                   identifer chain gang option is invoked.
  733.                   This allows multiple commands to LOOPed.
  734.                   Instead of one command specified for this
  735.                   parameter a string of command identifers
  736.                   are passed.
  737.                   The > to get CONDOR's attention to chain-
  738.                   gang, and ending with the @ FOLLOWED by a
  739.                   comma.   Like this >CL@,
  740.                     C is at command position 0
  741.                     L is at command position 1
  742.                   The position of the command is the key
  743.                   to which command will be executed.
  744.                   There can be up to 128 (0-127) commands in
  745.                   this command string in any order you like.
  746.  
  747.     Example: switching line color and drawing lines too
  748.     esc{R14:&0,636,6,0,>CL@,16,0)1,3:1)319,99,x,20:0)1,2:1)319,99,+2,20:
  749.         t48:b11:R3:esc} esc#A
  750.     You can replace the  )  above with the commands themself
  751.     (or any non-numeric character) like so:
  752.     esc{R14:&0,636,6,0,>CL@,16,0C1,1:1L319,99,x,179:0C1,2:1L319,99,+2,179:
  753.         t48:b12:R3:esc} esc#A
  754.  
  755.             ( continued on next page )
  756.  
  757.  
  758.                     -13-
  759.  
  760.             6th parameter = total number of parameters command(s)
  761.                 that are being looped requires.  You are required
  762.                 to specify the total number the command(s) requires
  763.                 ie L command requires 4 , ie C command 2.
  764.                 If using the CHAIN GANG option a L command requires
  765.                 5 parameters, a C command 3.
  766.                 You can specify multiples of the required number
  767.                 such as 8 or 12 for the L command, Maximum up to
  768.                 2048, for LOOPing several L ine commands at once,
  769.                 this works sort of like BASIC's READ DATA
  770.                 statements between each LOOP step.
  771.  
  772.               REMAINING parameters = whatever the command(s) being
  773.                 looped requires.  If you use a "x" as a
  774.                 parameter it will be stepped in the direction
  775.                 of the FROM TO values, use a "y" and the loop
  776.                 will step the value in a reverse direction.
  777.                 You can use both "x" and "y" at the same time.
  778.                 If you use a number it will remain as a constant
  779.                 for the command being looped through out the
  780.                 loop execution.
  781.  
  782.                  You can preceed constants for a command being
  783.                  LOOPed with +,-, or !
  784.  
  785.                  +CONSTANT will ADD the CONSTANT to the x step
  786.                   value.
  787.  
  788.                  -CONSTANT will SUBTRACT the CONSTANT from the
  789.                   x step value.
  790.  
  791.                  !CONSTANT will SUBTRACT the x step value from
  792.                   the CONSTANT.
  793.  
  794.            syntax example &10,50,4,0,L,4,x,+90,!639,-2:
  795.  
  796.     LOOP example, Written text option:
  797.     esc{R6:&1,7,1,0,w@2,25,x,A. Item 1@
  798.     B. Item 2@
  799.     C. Item 3@
  800.     D. Item 4@
  801.     E. Item 5@
  802.     F. Item 6@
  803.     G. Item 7@
  804.     t72:b4:R3:esc}esc#A
  805.  
  806.     Example of loop used to READ DATA and step within at the same time in
  807.     both directions.
  808.     esc{R6:&0,639,4,0,L,16,319,99,x,0:319,99:y,0:319,99,x,199:319,99:y,199:
  809.         t52:b16:R3:esc}esc#A
  810.  
  811.  
  812.                     -14-
  813.  
  814.                 ANSI SUPPORT
  815.                 ------------
  816.  
  817.        CONDOR supports ANSI escape sequences.   You can't place
  818.     ANSI commands in the CONDOR buffer and execute them BUT you can first
  819.     switch to a GRAPHICS mode with a CONDOR  Rx: command then draw some
  820.     lines, what have you, with CONDOR and at exit don't do a R3: command.
  821.     The ANSI commands will still work, the only thing is that you will
  822.     not get the ANSI background colors and BLINKing characters, this
  823.     is how you mix CONDOR and ANSI commands to get the best of both.
  824.     If you switch back to a TEXT mode then you get the ANSI character's
  825.     background color and BLINK.  CONDOR R3: switches to color TEXT mode
  826.     80x25.  I left most of the cursor positioning work for the ANSI
  827.     commands to save on memory, CONDOR has to fit in 64K to work and I
  828.     want to expand it little in the future.
  829.  
  830.     ANSI COMMANDS SUPPORTED:
  831.     ------------------------
  832.         ? = numeric value
  833.  
  834.         esc[?;?H           Move cursor to line, column.  If no
  835.                     parameters specified cursor is sent
  836.                     to HOME (1,1)
  837.  
  838.         esc[?;?f        Exactly the same as the above command.
  839.  
  840.         esc[?A            Move cursor UP.  Moves cursor up by the
  841.                     number of lines specifed without
  842.                     changing columns.  If cursor is at the
  843.                     top line this command is ignored.
  844.  
  845.         esc[?B                  Move cursor DOWN.  Moves cursor down
  846.                     by the number of lines specifed without
  847.                     changing columns.  If cursor is at the
  848.                     bottom line this command is ignored.
  849.  
  850.         esc[?C            Cursor FORWARD.  Moves cursor forward
  851.                     by the specified number columns without
  852.                     changing lines. If the cursor is at the
  853.                     rightmost column command is ignored.
  854.  
  855.         esc[?D            Cursor BACKWARD.  Moves cursor backward
  856.                     by the specified number columns without
  857.                     changing lines. If the cursor is at the
  858.                     leftmost column command is ignored.
  859.  
  860.         esc[s            SAVE cursor position.  Get current
  861.                     cursor position and remember it.
  862.                     Use the esc[u sequence to set cursor
  863.                     to saved position.
  864.  
  865.         esc[u            RESTORE Cursor Position.  Sets the
  866.                     cursor to the SAVEed position
  867.                     established with the esc[s sequence.
  868.  
  869.         esc[2J            Erase the Screen.  Clears screen and
  870.                     moves the cursor to HOME (1,1).
  871.  
  872.         esc[K            ERASE Line.  Clears all characters from
  873.                     cursor positon to the end of the line.
  874.  
  875.                     -15-
  876.  
  877.                  ( ANSI commands continued )
  878.  
  879.  
  880.         esc[?;?;?m        Set TEXT Attributes,
  881.                     TEXT Foreground colors and
  882.                     TEXT Background colors.
  883.  
  884.                     TEXT Attribute values:
  885.                         0 = All attributes OFF
  886.                         1 = Bold ON
  887.                         4 = NO EFFECT
  888.                         5 = BLINK ON
  889.                         7 = REVERSE Video ON
  890.                         8 = CONCEALED ON
  891.  
  892.                     FORGROUND color values:
  893.                         30 = BLACK
  894.                         31 = RED
  895.                         32 = GREEN
  896.                         33 = YELLOW
  897.                         34 = BLUE
  898.                         35 = MAGENTA
  899.                         36 = CYAN
  900.                         37 = WHITE
  901.  
  902.                     BACKGROUND color values:
  903.                         40 = BLACK
  904.                         41 = RED
  905.                         42 = GREEN
  906.                         43 = YELLOW
  907.                         44 = BLUE
  908.                         45 = MAGENTA
  909.                         46 = CYAN
  910.                         47 = WHITE
  911.  
  912.        The ANSI commands esc[?h, esc[?l, esc[code;string;...p  are
  913.     NOT supported.
  914.  
  915.     -----------------------------------------------------------------------
  916.  
  917.       I hope CONDOR will make major changes in the online world but it
  918.     depends on you.  I have given you my best effort in bringing
  919.     Condor forth.  I have tried and even if Condor fails, I'm still better
  920.     off than if I had tried to do nothing and succeeded.
  921.  
  922.        Terminal and    BBSs authors please see How_to.txt
  923.